import urllib.request
from http import cookiejar  # 自动保存cookies
import urllib.parse

'''
1.代码登录 登录成功 cookies(有效)
2.自动带着cookies  去请求个人中心
3.cookiejar：自动保存cookies
4.登录之前的网址https://www.yaozh.com/login/中找登录参数
'''

# 1.代码登录
# 1.登录的网址
url = "https://www.yaozh.com/login/"
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
}
# 2.登录的参数
login_form_data = {
    "username": "lucky_yu",
    "pwd": "199213xiao..",
    "formhash": "9F137F4252",
    "backurl": "https%3A%2F%2Fwww.yaozh.com%2F"
}

login_str = urllib.parse.urlencode(login_form_data).encode('utf-8')
print(login_str)

# 3.发送登录请求post
cookie_jar = cookiejar.CookieJar()
# 定义有添加cookie功能的处理器
cookie_handler = urllib.request.HTTPCookieProcessor(cookie_jar)
# 根据处理器生成opener
opener = urllib.request.build_opener(cookie_handler)

# 带着参数的请求头
login_requests = urllib.request.Request(url, headers=header, data=login_str)

# 如果登录成功 cookiejar自动保存cookie
opener.open(login_requests)

# 2.代码带着cookies去访问 个人中心
center = "https://www.yaozh.com/member/"
center_requests = urllib.request.Request(center, headers=header)
response = opener.open(center)
data = response.read().decode('utf-8')

with open('03cookies.html', mode='w', encoding='utf-8') as file:
    file.write(data)




#不同用户 不同的地点 不同浏览器 不停的登录  非人为操作
#会封账号
#需要N个账号